A private branch exchange (PBX) is a telephone communications system generally used by large businesses for interconnecting all classes of trunk lines, station lines and other lines. The PBX concentrates signals on the trunk lines for subsequent transmission to a network of private stations. A conventional PBX includes a switching unit (SWU) which is comprised of call processing software (CP). The CP typically includes call handling and device handling software modules which monitor and interconnect incoming calls and devices. The CP of a conventional PBX typically includes automatic call distribution software (ACD) and ACD Routing Tables, which ACD software automatically routes incoming calls to preassigned destinations in order to maximize call-answering productivity.
To provide greater versatility and functionality, many modem PBXs further comprise one or more server processors which are coupled to the CP of the PBX SWU. The server processors provide a link for communication between the CP and host computers which are external to the PBX. In particular, the link to the external host computers enables a host computer, such as an IBM PC, to monitor the operation of one or more PBXs (i.e. by monitoring call routing and call status information) through the execution of host-specific software applications. In some modem PBXs, a host-specific software application provides limited routing of an incoming call by the host computer during a short time interval which starts when the incoming call is received and ends when the incoming call is handled in accordance with conventional ACD call handling techniques (ACDCHT). This is useful in that it provides the flexibility of routing an incoming call (under control of the CP) to an ACD of another PBX when the ACD of the first PBX is too congested.
To provide the above-described flexibility of routing an incoming call by a host computer in a conventional PBX, the CP in the conventional PBX delays incoming calls for a predetermined amount of time (delay interval) before it requests routing to the ACD software. The resulting delay interval provides a window of inactivity during which a host computer which monitors the first PBX can determine whether the incoming call should be routed to another PBX based on the current call status information the host computer has received from the PBX. If the incoming call is not routed elsewhere, it is handled in accordance with conventional ACD call handling techniques.
While the prior,art method of routing incoming calls to an ACD on an alternate PBX in response to commands from an external host computer is useful in reducing ACD congestion, a significant drawback with the prior art method is that the host computer is permitted to route the incoming call only during the short time interval described above. After the time interval ends, subsequent routing of the incoming call is determined solely in accordance with the ACDCHT, which ACDCHT includes use of ACD Routing Tables. As is well known, reconfiguration of the ACD Routing Tables is static, i.e., it can be performed manually at predetermined times and cannot be performed individually for each incoming call so that the incoming call is routed to an optimal destination.
As one can readily appreciate from the above, a major disadvantage with the prior art routing method is that a host computer may not be able to make a timely decision concerning the propel routing destination for an incoming call before it is transferred to the ACDCHT. This may occur when, for example, the network rules do not provide the host computer with sufficient time to make an optimal routing decision and to transmit the associated commands to the PBX. One result of this is that if the ACD at the PBX is congested, the incoming call may be connected to a recording for a prolonged period of time, thereby causing the caller to terminate the call.
In light of the above, there is a need for a method for dynamically routing incoming calls to a PBX in response to commands issued by a host computer and, in particular, for routing incoming calls after a routing request has been obtained from the ACDCHT.